﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Business;
using Foundation; 

namespace RPGSoundmixer.Test {
    class DataHandlerMock : IDataHandler {

        public Foundation.EffektGroup CreatedEffektGroup { get; set; }
        public SoundSuite soundSuite { get; set; }

        public List<Foundation.Category> Categories {
            get { throw new NotImplementedException(); }
        }

        public List<Foundation.Track> UntaggedTracks {
            get { throw new NotImplementedException(); }
        }

        public Guid CurrentSoundSuite {
            get {
                throw new NotImplementedException();
            }
            set {
                throw new NotImplementedException();
            }
        }

        public void SaveNewCategory(string name) {
            throw new NotImplementedException();
        }

        public List<Foundation.Track> TracksInCategory(Foundation.Category cat) {
            throw new NotImplementedException();
        }

        public List<Foundation.SoundSuite> SoundSuites {
            get { throw new NotImplementedException(); }
        }

        public void CreateNewSoundSuite(string name) {
            throw new NotImplementedException();
        }

        public void DeleteSuite(Foundation.SoundSuite soundSuite) {
            throw new NotImplementedException();
        }

        public object[] GetCurrentEffectGroups() {
            throw new NotImplementedException();
        }

        public Foundation.SoundSuite GetCurrentSoundSuite() {
            return soundSuite;
        }

        public void AddEffektGroupToCurrentSoundSuite(Foundation.EffektGroup effektGroup) {
            this.CreatedEffektGroup = effektGroup; 
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        internal void FirePropertyEvent(string p) {
            if (PropertyChanged != null) {
                PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(p));
            }
        }
    }
}
